1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license (the "Software") to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */ 
28 
29 module derelict.glib.gvarianttype;
30 
31 import derelict.glib.gtypes;
32 import derelict.glib.glibconfig;
33 import core.stdc.config;
34 
35 extern (C):
36 
37 alias _GVariantType GVariantType;
38 
39 struct _GVariantType;
40 
41 version(Derelict_Link_Static)
42 {
43     extern( C ) nothrow 
44     {
45         gboolean g_variant_type_string_is_valid(const(gchar)* type_string);
46         gboolean g_variant_type_string_scan(const(gchar)* string, const(gchar)* limit, const(gchar*)* endptr);
47         void g_variant_type_free(GVariantType* type);
48         GVariantType* g_variant_type_copy(const(GVariantType)* type);
49         GVariantType* g_variant_type_new(const(gchar)* type_string);
50         gsize g_variant_type_get_string_length(const(GVariantType)* type);
51         const(gchar)* g_variant_type_peek_string(const(GVariantType)* type);
52         gchar* g_variant_type_dup_string(const(GVariantType)* type);
53         gboolean g_variant_type_is_definite(const(GVariantType)* type);
54         gboolean g_variant_type_is_container(const(GVariantType)* type);
55         gboolean g_variant_type_is_basic(const(GVariantType)* type);
56         gboolean g_variant_type_is_maybe(const(GVariantType)* type);
57         gboolean g_variant_type_is_array(const(GVariantType)* type);
58         gboolean g_variant_type_is_tuple(const(GVariantType)* type);
59         gboolean g_variant_type_is_dict_entry(const(GVariantType)* type);
60         gboolean g_variant_type_is_variant(const(GVariantType)* type);
61         guint g_variant_type_hash(gconstpointer type);
62         gboolean g_variant_type_equal(gconstpointer type1, gconstpointer type2);
63         gboolean g_variant_type_is_subtype_of(const(GVariantType)* type, const(GVariantType)* supertype);
64         const(GVariantType)* g_variant_type_element(const(GVariantType)* type);
65         const(GVariantType)* g_variant_type_first(const(GVariantType)* type);
66         const(GVariantType)* g_variant_type_next(const(GVariantType)* type);
67         gsize g_variant_type_n_items(const(GVariantType)* type);
68         const(GVariantType)* g_variant_type_key(const(GVariantType)* type);
69         const(GVariantType)* g_variant_type_value(const(GVariantType)* type);
70         GVariantType* g_variant_type_new_array(const(GVariantType)* element);
71         GVariantType* g_variant_type_new_maybe(const(GVariantType)* element);
72         GVariantType* g_variant_type_new_tuple(const(GVariantType*)* items, gint length);
73         GVariantType* g_variant_type_new_dict_entry(const(GVariantType)* key, const(GVariantType)* value);
74         const(GVariantType)* g_variant_type_checked_(const(gchar)*);
75     }
76 }
77 else
78 {
79     extern( C ) nothrow 
80     {
81         alias da_g_variant_type_string_is_valid = gboolean function(const(gchar)* type_string);												
82         alias da_g_variant_type_string_scan = gboolean function(const(gchar)* string, const(gchar)* limit, const(gchar*)* endptr);			
83         alias da_g_variant_type_free = void function(GVariantType* type);																	
84         alias da_g_variant_type_copy = GVariantType* function(const(GVariantType)* type);													
85         alias da_g_variant_type_new = GVariantType* function(const(gchar)* type_string);													
86         alias da_g_variant_type_get_string_length = gsize function(const(GVariantType)* type);												
87         alias da_g_variant_type_peek_string = const(gchar)* function(const(GVariantType)* type);											
88         alias da_g_variant_type_dup_string = gchar* function(const(GVariantType)* type);													
89         alias da_g_variant_type_is_definite = gboolean function(const(GVariantType)* type);													
90         alias da_g_variant_type_is_container = gboolean function(const(GVariantType)* type);												
91         alias da_g_variant_type_is_basic = gboolean function(const(GVariantType)* type);													
92         alias da_g_variant_type_is_maybe = gboolean function(const(GVariantType)* type);													
93         alias da_g_variant_type_is_array = gboolean function(const(GVariantType)* type);													
94         alias da_g_variant_type_is_tuple = gboolean function(const(GVariantType)* type);													
95         alias da_g_variant_type_is_dict_entry = gboolean function(const(GVariantType)* type);												
96         alias da_g_variant_type_is_variant = gboolean function(const(GVariantType)* type);													
97         alias da_g_variant_type_hash = guint function(gconstpointer type);																	
98         alias da_g_variant_type_equal = gboolean function(gconstpointer type1, gconstpointer type2);										
99         alias da_g_variant_type_is_subtype_of = gboolean function(const(GVariantType)* type, const(GVariantType)* supertype);				
100         alias da_g_variant_type_element = const(GVariantType)* function(const(GVariantType)* type);											
101         alias da_g_variant_type_first = const(GVariantType)* function(const(GVariantType)* type);											
102         alias da_g_variant_type_next = const(GVariantType)* function(const(GVariantType)* type);											
103         alias da_g_variant_type_n_items = gsize function(const(GVariantType)* type);														
104         alias da_g_variant_type_key = const(GVariantType)* function(const(GVariantType)* type);												
105         alias da_g_variant_type_value = const(GVariantType)* function(const(GVariantType)* type);											
106         alias da_g_variant_type_new_array = GVariantType* function(const(GVariantType)* element);											
107         alias da_g_variant_type_new_maybe = GVariantType* function(const(GVariantType)* element);											
108         alias da_g_variant_type_new_tuple = GVariantType* function(const(GVariantType*)* items, gint length);								
109         alias da_g_variant_type_new_dict_entry = GVariantType* function(const(GVariantType)* key, const(GVariantType)* value);				
110         alias da_g_variant_type_checked_ = const(GVariantType)* function(const(gchar)*);													
111     }
112 
113     __gshared
114     {
115         da_g_variant_type_string_is_valid g_variant_type_string_is_valid; 
116         da_g_variant_type_string_scan g_variant_type_string_scan; 
117         da_g_variant_type_free g_variant_type_free; 
118         da_g_variant_type_copy g_variant_type_copy; 
119         da_g_variant_type_new g_variant_type_new; 
120         da_g_variant_type_get_string_length g_variant_type_get_string_length; 
121         da_g_variant_type_peek_string g_variant_type_peek_string; 
122         da_g_variant_type_dup_string g_variant_type_dup_string; 
123         da_g_variant_type_is_definite g_variant_type_is_definite; 
124         da_g_variant_type_is_container g_variant_type_is_container; 
125         da_g_variant_type_is_basic g_variant_type_is_basic; 
126         da_g_variant_type_is_maybe g_variant_type_is_maybe; 
127         da_g_variant_type_is_array g_variant_type_is_array; 
128         da_g_variant_type_is_tuple g_variant_type_is_tuple; 
129         da_g_variant_type_is_dict_entry g_variant_type_is_dict_entry; 
130         da_g_variant_type_is_variant g_variant_type_is_variant; 
131         da_g_variant_type_hash g_variant_type_hash; 
132         da_g_variant_type_equal g_variant_type_equal; 
133         da_g_variant_type_is_subtype_of g_variant_type_is_subtype_of; 
134         da_g_variant_type_element g_variant_type_element; 
135         da_g_variant_type_first g_variant_type_first; 
136         da_g_variant_type_next g_variant_type_next; 
137         da_g_variant_type_n_items g_variant_type_n_items; 
138         da_g_variant_type_key g_variant_type_key; 
139         da_g_variant_type_value g_variant_type_value; 
140         da_g_variant_type_new_array g_variant_type_new_array; 
141         da_g_variant_type_new_maybe g_variant_type_new_maybe; 
142         da_g_variant_type_new_tuple g_variant_type_new_tuple; 
143         da_g_variant_type_new_dict_entry g_variant_type_new_dict_entry; 
144         da_g_variant_type_checked_ g_variant_type_checked_; 
145     }
146 }